package com.molichuxing.services.infrastructure.bean;

import java.io.Serializable;
import java.time.LocalDateTime;

public class DesenseBean implements Serializable {
    /**
     * id id
     */
    private Integer id;

    /**
     * 脱敏表名称 table_name
     */
    private String tableName;

    /**
     * vo表名称 vo_name
     */
    private String voName;

    /**
     * 脱敏字段 field_name
     */
    private String fieldName;

    /**
     * 字段描述 field_desc
     */
    private String fieldDesc;

    /**
     * 脱敏规则：(1:全部，2:部分) desense_rule
     */
    private Integer desenseRule;

    /**
     * 脱敏位置：(1:左，2:中，3:右
     )             desense_pos
     */
    private Integer desensePos;

    /**
     * 脱敏字符数 desense_char_num
     */
    private Integer desenseCharNum;

    /**
     * 脱敏符，使用*还是/ desense_flag
     */
    private String desenseFlag;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 更新时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * 是否启用(0:启用，1:禁用)，默认启用 status
     */
    private Boolean status;

    /**
     * permission_desense
     */
    private static final long serialVersionUID = 1L;

    /**
     * id
     * @date 2019-11-19 11:49:38
     * @return id id
     */
    public Integer getId() {
        return id;
    }

    /**
     * id
     * @date 2019-11-19 11:49:38
     * @param id id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 脱敏表名称
     * @date 2019-11-19 11:49:38
     * @return table_name 脱敏表名称
     */
    public String getTableName() {
        return tableName;
    }

    /**
     * 脱敏表名称
     * @date 2019-11-19 11:49:38
     * @param tableName 脱敏表名称
     */
    public void setTableName(String tableName) {
        this.tableName = tableName == null ? null : tableName.trim();
    }

    /**
     * vo表名称
     * @date 2019-11-19 11:49:38
     * @return vo_name vo表名称
     */
    public String getVoName() {
        return voName;
    }

    /**
     * vo表名称
     * @date 2019-11-19 11:49:38
     * @param voName vo表名称
     */
    public void setVoName(String voName) {
        this.voName = voName == null ? null : voName.trim();
    }

    /**
     * 脱敏字段
     * @date 2019-11-19 11:49:38
     * @return field_name 脱敏字段
     */
    public String getFieldName() {
        return fieldName;
    }

    /**
     * 脱敏字段
     * @date 2019-11-19 11:49:38
     * @param fieldName 脱敏字段
     */
    public void setFieldName(String fieldName) {
        this.fieldName = fieldName == null ? null : fieldName.trim();
    }

    /**
     * 字段描述
     * @date 2019-11-19 11:49:38
     * @return field_desc 字段描述
     */
    public String getFieldDesc() {
        return fieldDesc;
    }

    /**
     * 字段描述
     * @date 2019-11-19 11:49:38
     * @param fieldDesc 字段描述
     */
    public void setFieldDesc(String fieldDesc) {
        this.fieldDesc = fieldDesc == null ? null : fieldDesc.trim();
    }

    /**
     * 脱敏规则：(1:全部，2:部分)
     * @date 2019-11-19 11:49:38
     * @return desense_rule 脱敏规则：(1:全部，2:部分)
     */
    public Integer getDesenseRule() {
        return desenseRule;
    }

    /**
     * 脱敏规则：(1:全部，2:部分)
     * @date 2019-11-19 11:49:38
     * @param desenseRule 脱敏规则：(1:全部，2:部分)
     */
    public void setDesenseRule(Integer desenseRule) {
        this.desenseRule = desenseRule;
    }

    /**
     * 脱敏位置：(1:左，2:中，3:右
     )
     * @date 2019-11-19 11:49:38
     * @return desense_pos 脱敏位置：(1:左，2:中，3:右
    )
     */
    public Integer getDesensePos() {
        return desensePos;
    }

    /**
     * 脱敏位置：(1:左，2:中，3:右
     )
     * @date 2019-11-19 11:49:38
     * @param desensePos 脱敏位置：(1:左，2:中，3:右
    )
     */
    public void setDesensePos(Integer desensePos) {
        this.desensePos = desensePos;
    }

    /**
     * 脱敏字符数
     * @date 2019-11-19 11:49:38
     * @return desense_char_num 脱敏字符数
     */
    public Integer getDesenseCharNum() {
        return desenseCharNum;
    }

    /**
     * 脱敏字符数
     * @date 2019-11-19 11:49:38
     * @param desenseCharNum 脱敏字符数
     */
    public void setDesenseCharNum(Integer desenseCharNum) {
        this.desenseCharNum = desenseCharNum;
    }

    /**
     * 脱敏符，使用*还是/
     * @date 2019-11-19 11:49:38
     * @return desense_flag 脱敏符，使用*还是/
     */
    public String getDesenseFlag() {
        return desenseFlag;
    }

    /**
     * 脱敏符，使用*还是/
     * @date 2019-11-19 11:49:38
     * @param desenseFlag 脱敏符，使用*还是/
     */
    public void setDesenseFlag(String desenseFlag) {
        this.desenseFlag = desenseFlag == null ? null : desenseFlag.trim();
    }

    /**
     * 创建时间
     * @date 2019-11-19 11:49:38
     * @return gmt_create 创建时间
     */
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2019-11-19 11:49:38
     * @param gmtCreate 创建时间
     */
    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 更新时间
     * @date 2019-11-19 11:49:38
     * @return gmt_modified 更新时间
     */
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 更新时间
     * @date 2019-11-19 11:49:38
     * @param gmtModified 更新时间
     */
    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * 是否启用(0:启用，1:禁用)，默认启用
     * @date 2019-11-19 11:49:38
     * @return status 是否启用(0:启用，1:禁用)，默认启用
     */
    public Boolean getStatus() {
        return status;
    }

    /**
     * 是否启用(0:启用，1:禁用)，默认启用
     * @date 2019-11-19 11:49:38
     * @param status 是否启用(0:启用，1:禁用)，默认启用
     */
    public void setStatus(Boolean status) {
        this.status = status;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DesenseBean other = (DesenseBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getTableName() == null ? other.getTableName() == null : this.getTableName().equals(other.getTableName()))
                && (this.getVoName() == null ? other.getVoName() == null : this.getVoName().equals(other.getVoName()))
                && (this.getFieldName() == null ? other.getFieldName() == null : this.getFieldName().equals(other.getFieldName()))
                && (this.getFieldDesc() == null ? other.getFieldDesc() == null : this.getFieldDesc().equals(other.getFieldDesc()))
                && (this.getDesenseRule() == null ? other.getDesenseRule() == null : this.getDesenseRule().equals(other.getDesenseRule()))
                && (this.getDesensePos() == null ? other.getDesensePos() == null : this.getDesensePos().equals(other.getDesensePos()))
                && (this.getDesenseCharNum() == null ? other.getDesenseCharNum() == null : this.getDesenseCharNum().equals(other.getDesenseCharNum()))
                && (this.getDesenseFlag() == null ? other.getDesenseFlag() == null : this.getDesenseFlag().equals(other.getDesenseFlag()))
                && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
                && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()))
                && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getTableName() == null) ? 0 : getTableName().hashCode());
        result = prime * result + ((getVoName() == null) ? 0 : getVoName().hashCode());
        result = prime * result + ((getFieldName() == null) ? 0 : getFieldName().hashCode());
        result = prime * result + ((getFieldDesc() == null) ? 0 : getFieldDesc().hashCode());
        result = prime * result + ((getDesenseRule() == null) ? 0 : getDesenseRule().hashCode());
        result = prime * result + ((getDesensePos() == null) ? 0 : getDesensePos().hashCode());
        result = prime * result + ((getDesenseCharNum() == null) ? 0 : getDesenseCharNum().hashCode());
        result = prime * result + ((getDesenseFlag() == null) ? 0 : getDesenseFlag().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", tableName=").append(tableName);
        sb.append(", voName=").append(voName);
        sb.append(", fieldName=").append(fieldName);
        sb.append(", fieldDesc=").append(fieldDesc);
        sb.append(", desenseRule=").append(desenseRule);
        sb.append(", desensePos=").append(desensePos);
        sb.append(", desenseCharNum=").append(desenseCharNum);
        sb.append(", desenseFlag=").append(desenseFlag);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", status=").append(status);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}